#pragma once

#include "Networkable.h"
#include "GameObject.h"
#include "Point.h"

namespace game_engine { namespace library
{

/*!
 * \class NetworkPlayer
 * \brief 
 */
class NetworkPlayer : public game_engine::GameObject, public game_engine::Networkable
{
///////////////////////////////////////////////////////////////////////////////
// Attribute definition
///////////////////////////////////////////////////////////////////////////////


///////////////////////////////////////////////////////////////////////////////
// Method definition
///////////////////////////////////////////////////////////////////////////////
public:
    // Constructors and Destructors
    NetworkPlayer(void);
    NetworkPlayer(Scene *scn, const string &n, const string &t, const DrawLevelType d, 
        const utils::Point &pos, RakNet::RPC3 *rpcFromNetwork);
    virtual ~NetworkPlayer(void);

    // Others
    void setRemoteDirection(const Direction dir, RakNet::RPC3 *rpcFromNetwork);

    void update(const FLOAT32 time);

};

}}
